#proto文件路径 ---- 下载下来的文件存放路径
# shellcheck disable=SC2006
folder=`pwd`/bid_proto
#拷贝到指定路径 ---- 经过处理后的文件存储路径
# shellcheck disable=SC2006
copyToFolder=`pwd`

#如果目录不存在则创建
 if [ ! -x "$folder" ]
 then
    mkdir "$folder"
 fi

 if [ ! -x "$copyToFolder" ]
 then
    mkdir "$copyToFolder"
 fi

function readfile ()
{
#这里`为esc下面的按键符号
 # shellcheck disable=SC2045
 for file in `ls "$1"`
 do
#这里的-d表示是一个directory，即目录/子文件夹
 # shellcheck disable=SC2086
 if [ -d $1"/""$file" ]
 then
#如果子文件夹则递归
  readfile "$1""/""$file"
 else
#否则就能够读取该文件的地址
#   echo $1"/"$file
#读取该文件的文件名，basename是提取文件名的关键字
    file_name=$(basename "$file")
    suffix=$(echo "$file_name" | cut -d '.' -f2)
    if [[ $suffix == 'proto' ]]
    then
        sucess=$(cp "$1""/""$file" $copyToFolder)
        if [[ $sucess == '' ]]
            then
            echo "拷贝文件"$file_name"成功"
            else
            echo "拷贝文件失败"
        fi
    else
        continue;
    fi
 fi
 done
}

function insertHeadForPath ()
{
#这里`为esc下面的按键符号
 # shellcheck disable=SC2045
 for file in `ls "$1"`
 do
#这里的-d表示是一个directory，即目录/子文件夹
 # shellcheck disable=SC2086
 if [ -d $1"/""$file" ]
 then
#如果子文件夹则递归
  insertHeadForPath "$1""/""$file"
 else
#否则就能够读取该文件的地址
#   echo $1"/"$file
#读取该文件的文件名，basename是提取文件名的关键字
    file_name=$(basename "$file")
    suffix=$(echo "$file_name" | cut -d '.' -f2)
    head=$(echo "$file_name" | cut -d '.' -f1)
    # shellcheck disable=SC2021
    UPPERCASE=$(echo "$head" | tr '[a-z]' '[A-Z]')
    if [[ $suffix == 'proto' ]]
    then
        sed -i "" "2 i\\
option objc_class_prefix \= \"$UPPERCASE\"\;
# shellcheck disable=SC2086
" "$1""/""$file"
    else
        continue;
    fi
 fi
 done
}

# 切换到文件下载路径
# shellcheck disable=SC2164
cd "$folder"
#移除老的文件
rm -rf proto-lezedata
#下载文件
git clone https://gitee.com/wenxiaoya/proto-lezedata.git

#读取.proto后缀的文件并且拷贝到copyToFolder路径
readfile "$folder"

#切换到输出文件路径
# shellcheck disable=SC2164
cd "$copyToFolder"
#去替换每一个文件内的文本内容
# dir=`ls /Users/cc/desktop/proTest`

files=`ls`
echo "$files"

for file in $files
do
    file_name=$(basename "$file")
    suffix=$(echo "$file_name" | cut -d '.' -f2)
    if [[ $suffix == 'proto' ]]
    then
    	echo $file
	sed -i "" "s/lezedata\/proto-bid\/common\///g;s/lezedata\/proto-bid\/bid\///g;s/google\/api\///g;s/github.com\/mwitkow\/go-proto-validators\///g;s/github.com\/gogo\/protobuf\/gogoproto\///g;" $file
    else
        continue;
    fi
done

#移除文件夹
rm -rf "$folder"

#切换到根目录
cd ../../../..
echo "开始编译文件"
gradlew makeApkFromBundleForDebug
